1. Field of the Invention
The present invention relates to a data packet switching apparatus for switching a data packet such as an IP (Internet Protocol) packet or a frame relay frame between virtual connections and, more particularly, to a data packet switching apparatus for switching a data packet between virtual connections by determining its outgoing virtual connection based on the destination address or other identifier of the data packet arriving in the form of cells from incoming virtual connections, and by changing the virtual connection identifier of each cell from that on the incoming connection to that on the outgoing connection for output.
2. Description of the Related Art
For example, in IP over ATM in which IP packets are transmitted using ATM as an underlying layer, many ATM virtual connections are set up in a mesh-like structure among nodes, and a separate ATM virtual connection is set up between a node and a user.
In a prior art IP packet switching apparatus installed at each such node, IP packets are assembled by storing ATM cells on a connection-by-connection basis as the cells arrive from incoming virtual connections, and the outgoing virtual connection of each packet is determined based on its destination address. When storing cell data in a buffer, if the buffer is full, the data is discarded. Of the packets stored in the buffer, each packet that is assembled, and for which the outgoing virtual connection has been determined, is output from the buffer and converted into cells with the outgoing virtual connection identifier appended to them. After that, an ATM switch forwards the cells onto appropriate connections.
In the prior art configuration described above, if buffer congestion occurs because of an input of bursty traffic, etc. while packets are being assembled at a plurality of input connections, cell discard (due to congestion) occurs at the plurality of connections. Since the packets being assembled are also discarded, the portion of the data buffer used to store the data up to that point in time may be wasted.
Furthermore, the prior art configuration entails a delay dependent on packet length because, after assembling a packet, the packet is reconverted into cells for transmission. As a result, when used in a network where packet switches are connected in multiple stages, the prior art has the problem that the delay time through the network increases and, also, the delay is unpredictable.
Accordingly, a first object of the present invention is to provide a data packet switching apparatus that achieves efficient utilization of the buffer by minimizing waste under buffer congestion.
A second object of the present invention is to provide a data packet switching apparatus wherein the delay through the apparatus is fixed and is not dependent on packet length and, even when the switches are connected in a multiple stage configuration, the delay is held to a low predictable value.
The first object is accomplished by providing a data packet switching apparatus for switching a data packet, arriving from a plurality of incoming virtual connections in the form of logically multiplexed cells, to a predesignated one of a plurality of outgoing virtual connections, comprising: a required buffer amount calculation circuit for calculating a buffer amount required to store the data packet from a packet length contained in cell data of an incoming cell; a comparator circuit for comparing the required buffer amount with a remaining buffer amount; a data discard circuit for discarding the cell data belonging to the data packet if, as the result of the comparison, the required buffer amount is larger than the remaining buffer amount; a data packet storing and assembling circuit for storing cell data in a buffer for each virtual connection, and for assembling the cell data into a data packet; an outgoing virtual connection resolving section for determining an outgoing virtual connection based on a data packet identifier contained in the cell data; and a packet transmission circuit for transmitting the assembled data packet by appending thereto an identifier of the thus determined outgoing virtual connection.
The second object is accomplished by providing a data packet switching apparatus for switching a data packet, arriving from a plurality of incoming virtual connections in the form of logically multiplexed cells, to a predesignated one of a plurality of outgoing virtual connections, comprising: a data packet assembling circuit for storing cell data of incoming cells in a buffer for each virtual connection; an outgoing virtual connection resolving section for determining an outgoing virtual connection based on a data packet identifier contained in the cell data; a transmission identification number management circuit for appending one unused transmission identification number, selected from among a plurality of different transmission identification numbers, to the cell data belonging to the data packet for which the outgoing virtual connection has been determined, the transmission identification number remaining appended to the cell data until the transmission of the cell data is completed; and a packet transmission circuit for transmitting the data packet assembled for each outgoing virtual connection by taking the cell data out of the buffer for transmission based on the determined outgoing virtual connection and the appended transmission identification number.